Application Synopsis NT/Win95 Version 2.2

This Windows 95 Search/Replace application was built to allow application
developers, html writers, system/network administrators, and others to
change a key word or phrase in many lines of many text files quickly
and efficiently.  Application developers can, for example, wire it into
the Microsoft C++ visual work bench through its Options/Tools menu to
enrich the editing capability.  It can also be used stand-alone by
developers or administrators who need to change a piece of information
in one or more lines of many files located in multiple directories.

Search/Replace allows you to:
o   define the search and replace strings or use previously defined
    strings;
o   define whether or not the search will be case sensitive (replace
    is always as entered);
o   define whether or not it must find the search string as a whole word
    or allow it to be embedded;
o   control whether the replace operation will be global or a
    confirmation is required for each replace (it will allow you to
    change from confirm each to global during the confirmation process
    plus other options);
o   select one or more files you want it to search in one or more
    directories;
o   define whether to replace all instances in a line or only the
    first;
o   define the file extensions you want to Always Search or Exclude
    (prompts you when it encounters an extension not on one of the
    two lists or allows you to add it to one of two additional lists
    (search/exclude for this session only);
o   include an extension to search, for this session only, from its
    always exclude list;
o   define whether the files it searches conform to the UNIX file type
    rules for end-of-line (discussed below);
o   abort/stop in the middle of a replace session when confirm each is
    selected;
o   abort/stop in the middle of a global replace session by double
    left clicking during the global replace;
o   change from search/replace to insert a string at a specific
    column in every line of the files you select (discussed below); &
o   use a set of special characters (discussed below).
Search/Replace also:
o   remembers its last screen position;
o   remembers the last drive/directory you searched;
o   allows you to define how many previous search/replace strings to
    remember;
o   allows you to define the character it uses to create a backup of
    files it modifies;
o   allows you to define your own set of file type filters;
o   allows you to define an editor to launch and will launch that
    editor when you double left click on a file line at the conclusion
    of the search and replace operation;
o   allows you to print the results of the search and replace operator
    or save the results in a file; and
o   allows you to define how many spaces it will use to expand tabs.

The application was designed to handle a huge number of files from
multiple directories.  There is a display limitation which will limit
the number of files you can search at one time.  The display limitation
is 128,000 lines, consequently, if 3 lines were changed per file (6 lines of
output), the file limitation would be 24,000 files.  There is a limitation
of the number of files/directory.  The maximum number of characters/directory
is 6000 which includes the path and the individual file names.  Search
replace is long file name aware.  You will still get the 8.3 format if the
file/directory includes one or more spaces in the name or you are
running over a network that uses 16 bit drivers.

The application expects to find newline characters (\n), as a 
minimum, at the end of each line (text file) and will not process
files that are not constructed in this manner.  Files generated by
word processors generally do not fall into this category unless they
are saved in ASCII/text.  When the application encounters such a file,
it warns you and excludes the file extension from any further searches
during the session.  The search/replace strings are limited to 255
characters and the maximum number of characters per searched line is
limited to 1024.

Files are generally grouped by extension, and in todays environment,
more than one type of file can have the same extension.  As one
example, Microsoft Word stores their files, by default, in non-text
format using the doc extension while you or others may use the same
extension to store files in text format.  Search/Replace makes no
assumptions about file types except for a few universal ones such
as exe, com, etc.  You may define the file extensions you do and do
not want included in your search.  You need not predefine the
extensions, since the application will prompt you each time it
encounters an extension it does not know about.  The application
keeps five (5) file extension lists which are Always Search, Always
Exclude, Search This Session Only, Exclude This Session Only, and
Override an always excluded extension for this session only.
You may predefine the Always ... file extension types in the
Options/File Types menu.

Any time a file is modified by the application, a backup file is
generated that contains the original information.  If you choose
to Abort a search/replace operation, all files modified during the
session up to the Abort point are restored via those back ups to
their pre-session state.  You may also decide, after the fact, that
the changes made were not "as expected" and manually restore them
yourself.  By default the original files extension will begin with
a tilde (~) followed by the full extension.  If a tilde is not
to your liking, you may change it to a valid DOS file name character
of your choosing in the Options/Preferences menu.  You may also direct
the application to remove the backups at the conclusion of the search
replace operation if you don't want the backups hanging around.

In todays networking environment, many files can be manipulated on
foreign machines.  The UNIX file type option is available for those
who need to remotely alter text files that conform to the UNIX file
standard.  For those not familiar with UNIX Vs DOS file types, UNIX
saves files with just a newline (\n) while DOS saves files with a
carriage return (\r)-newline(\n) combination.  The application
expects the carriage return-newline combination, consequently, it
will truncate the last character in every line if the file is a UNIX
type.  To overcome this problem, check the UNIX file types box if you
are operating on files on a foreign machine that uses the UNIX or
UNIX like operating system.  Be aware of the following:

o   files moved from a UNIX machine to your DOS machine may not
    contain the carriage return; and
o   some editors allow you to store files in UNIX format on your
    DOS machine.

There have been times when I needed to insert a character or a
character string at a specific column of every line in a data file
and had to do it manually.  As an added bonus, the application will
do that for you if you check the Insert @ Column box in the
Search/Replace Dialog.  Instead of a search replace application, the
application magically changes to insert at a column.  The
search/replace string captions change as well as the functionality
of its controls allowing you to define the character or string and
the column (1 through 254 minus the insert string length) where you
want it inserted.  Be aware, that formerly blank lines will contain
the inserted string at the specified column at the conclusion of the
operation.

		Dick Floersch
		dflo@oz.sunflower.org
		12/95

